package forms;

import javax.validation.Valid;
import javax.validation.constraints.Digits;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.NotBlank;

import domain.Presupuesto;

public class ComunidadDeVecinosForm {

	// Constructors
	public ComunidadDeVecinosForm() {
		super();
	}

	// Attributes

	private String cif;
	private String direccion;
	private String numeroDeCuenta;
	private double importeCuota;
	private double fondo;

	private int comunidadId;
	private Presupuesto presupuesto;

	@NotBlank
	@Pattern(regexp = "^[A-Z]{1}\\d{8}$")
	public String getCif() {
		return cif;
	}

	public void setCif(String cif) {
		this.cif = cif;
	}

	@NotBlank
	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	@NotBlank
	@Pattern(regexp = "^([0-9]{4}-[0-9]{4}-[0-9]{2}-[0-9]{10})$")
	public String getNumeroDeCuenta() {
		return numeroDeCuenta;
	}

	public void setNumeroDeCuenta(String numeroDeCuenta) {
		this.numeroDeCuenta = numeroDeCuenta;
	}

	@Digits(integer = 4, fraction = 2)
	@Min(0)
	public double getImporteCuota() {
		return importeCuota;
	}

	public void setImporteCuota(double importeCuota) {
		this.importeCuota = importeCuota;
	}

	@Digits(integer = 6, fraction = 2)
	@Min(0)
	public double getFondo() {
		return fondo;
	}

	public void setFondo(double fondo) {
		this.fondo = fondo;
	}

	public int getComunidadId() {
		return comunidadId;
	}

	public void setComunidadId(int comunidadId) {
		this.comunidadId = comunidadId;
	}

	@Valid
	@NotNull
	public Presupuesto getPresupuesto() {
		return presupuesto;
	}

	public void setPresupuesto(Presupuesto presupuesto) {
		this.presupuesto = presupuesto;
	}
}
